#文件的操作
#1.文件的打开
#大多数文件都是长期保存在外部储存器的，。而打开操作就是将文件从外部储存器调入内存的过程，这个过程需要使用Python语言的=内置的open命令，并生成一个File对象
#具体的语法格式如下:
#file对象名 = open(文件路径字符串，模式字符)
#文件路径字符串可以采用绝对路径，也可以采用相对路径：打开文件的模式字符用于指定打开文件的类型和操作文件的方式
#文本文件：'r';只可读文件，'r+':可读可写文件，文件不存在时就报错                                         'w':'只可写文件'，'w+':可读可写，'a':只可写文件，'a+':可读可写，文件不存在时新建文件
#二进制文件：'rb':只可读文件,'rb+':可读可写，文件不存在时报错                                           'wb':只可写文件,'wb+'可读可写:,'ab':只可写文件,'ab+':可读可写，文件不存在时新建文件
#文本文件，严格地说应该是'纯文本文件'，指只包含基本文本字符，不包含字体，大小，颜色等。格式信息的文件。最常见的文本文件是.txt文件。python语言源码文件对应的.py文件也是一种文本文件，除开文本文件外，其他基本上是二进制文件

#2.文件的关闭
#执行open命令打开文件后，这个文件就被Python程序占用并被调入内存。其后所有的读写操作都发生在内存；与此同时，其他任何应用都不能操作该文件
#当读写操作结束后，必须将文件从内存保存回外存
#一方面，将内存中文件的变化同步至外存，以便长期保存；另一方面是为了释放Python程序对文件的占用，让其他应用程序能够操作文件
#通过close()函数对文件进行关闭，具体语法格式如下
#file对象.close()
#对文件进行关闭后，不能对文件进行操作了，如果操作文件，那么系统就会报错

#3.写文件
#1.用file对象的write()方写文件
#write()函数方法将指定的字符串写入文件当前的插入点位置
file = open('mydata.txt','w')
file.write('举头望明月\n')
file.write('低头思故乡')
file.close()

#2.用write()方法相比较，writelines()方法可以以序列的形式接受多个字符串的形式作为参数，一次性写入多个字符串
#函数的应用方法如下：
#file对象.writeliens(字符串序列)
file=open('mydata1.txt','w')
file.writelines(['举头望明月\t','低头思故乡\n'])
file.writelines(['横批:静夜思\n'])
file.close()

#4.读文件
#1.用file对象的read()方法读文件
#read()方法读出文件所有内容并作为一个字符串返回。具体的语法如下：
#字符串变量 = file对象.read()
file = open('mydata.txt','r')
text = file.read()#读取了文件中包括分隔符在内的所有内容，并将其作为一个字符串返回给'text'变量
print(text)
file.close()

#2.用file对象的readline()方法读文件
#readline()函数的方法将读取文件中当前行，并以字符串的形式返回。语法格式如下：
#字符串变量 = file对象.readline()
file = open('mydata1.txt','r')
text1 = file.readline()
print(text1)
text2 = file.readline()
print(text2)
file.close()

#3.用file对象的readlines()方法读文件，readlines()函数以列表的形式返回整个文件内容，其中一行代表一个列表元素
#具体的语法格式如下：
#列表变量 = file对象.readlines()
file = open('mydata1.txt','r')
ls = file.readlines()
print(ls)
file.close()
